import Vue from 'vue'
import App from './App.vue'

//引入路由
import router from '@/router';
//引入仓库
import store from '@/store';
// 引入mock数据
import '@/mock/mockServe';
//引入swiper样式
import 'swiper/css/swiper.css';

// 注册三级联动组件-- - 全局组件
import TypeNav from '@/components/TypeNav';
//注册轮播图全局组件
import Carousel from '@/components/Carousel';
//分页器
import Pagination from '@/components/Pagination';
//element-ui组件库
import {Button,MessageBox} from "element-ui"
//第一个参数：全局组件的名字 第二个参数：组件名
Vue.component(TypeNav.name, TypeNav);
Vue.component(Carousel.name, Carousel);
Vue.component(Pagination.name, Pagination);

// //全局组件Button
// Vue.component(Button.name,Button)
//element-ui组件库
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;

//统一接口api文件里面全部请求函数
//统一引入
import * as API from "@/api";

//引入懒加载
import VueLazyload from 'vue-lazyload';
//注册懒加载组件
Vue.use(VueLazyload);

//引入表单校验插件
import "@/validate"

new Vue({
  render: h => h(App),

  // 全局事件总线$bus配置
  beforeCreate() {
    Vue.prototype.$bus = this;
    Vue.prototype.$API = API;
  },

  //注册路由
  router,
  //--注册仓库:组件实例身上会多一个$store属性--
  store
}).$mount('#app') 
